Embodiments of the inventive concept are directed to semiconductor memories, and more particularly, to a nonvolatile memory system.
A semiconductor memory device is a memory device implemented that uses a semiconductor such as silicon (Si), germanium (Ge), gallium arsenide (GaAs), indium phosphide (InP), etc. Semiconductor memory devices can be classified into volatile semiconductor memory devices and nonvolatile semiconductor memory devices.
Volatile memory devices lose their stored data when their power supplies are interrupted. Examples of volatile memory devices include a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), etc. Nonvolatile memory devices retain their stored data even when their power supplies are interrupted. Examples of nonvolatile memory devices include a read only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a flash memory, a phase change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), a ferroelectric RAM (FRAM), etc.
Flash memory device are used in various fields due to low noise, high capacity, etc. Unlike a general hard disk, a flash memory is not supported by an overwrite operation. That is, a flash memory has a characteristic “program after erase”. Because of the physical characteristics of a flash memory, a flash memory performs garbage collection to secure free memory blocks. In general, according to a state of a flash memory, such as the number of free memory blocks, the number of program erase cycles, the number of read operations, etc., it can be determined whether garbage collection should be performed. For example, if the number of free memory blocks of a flash memory is less than a predetermined number, or a free memory block in which data is to be written is insufficient, the flash memory will perform garbage collection. Since garbage collection repeatedly reads valid pages of a sacrificial block and writes the read valid pages to other memory, it consumes time. That is, since it is determined whether to perform garbage collection without considering a state of the external environment, such as a number of pending commands in a host, if garbage collection is performed in a memory sector where user or host requests have been concentrated, a user's subjective experience may be degraded.